home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula 2
/
Nebula Two.iso
/
SourceCode
/
GameKit
/
Makefiles
/
lib
/
Makefile.defaults
< prev
next >
Wrap
Makefile
|
1995-06-12
|
3KB
|
97 lines
#
# NeXT common include file for Internal Makefiles
# Copyright 1987, 1991, NeXT Computer, Inc.
#
# Maintained by Doug Wiebe.
#
# This Makefile contains default values for various things.
#
########################## Product names ##############################
# the fruit of this project
PRODUCT = lib$(NAME).a
# build-type dependent names
OPT_LIB = lib$(NAME).a
DEBUG_LIB = lib$(NAME)_g.a
PROFILE_LIB = lib$(NAME)_p.a
########################## Default build locations ######################
# directory for temporary files
OBJROOT = .
# subdirectories for .o's
OPT_OBJ = obj
DEBUG_OBJ = debug_obj
PROFILE_OBJ = profile_obj
# where .o files are put in OBJROOT, for optimized builds
OFILE_DIR = $(OBJROOT)/$(OPT_OBJ)
# directory for symbols and other precious derived files
SYMROOT = .
# places to look for dependents
VPATH = $(OFILE_DIR):$(OBJROOT):$(SYMROOT)
########################## File groups ##############################
# all source code
SRCS = $(MFILES) $(CFILES) $(PSWFILES) $(PSWMFILES) $(SFILES) \
$(LFILES) $(LMFILES) $(YFILES) $(YMFILES) $(HFILES) \
$(PSFILES) $(OTHER_SRCS)
# all nonderived files needed to build the project (the installsrc'ed files)
INSTALL_FILES = $(SRCS) Makefile Makefile.depends
# header files
HFILES = \
$(PRIVATE_INCFILES) \
$(COMPAT_INCFILES) \
$(LOCAL_INCFILES) \
$(PUBLIC_INCFILES)
# file generated by vers_string
VERSFILE = $(NAME)_vers
# all the object files, including a file with a version stamp
OFILES_NOVERS = $(MFILES:.m=.o) $(CFILES:.c=.o) $(PSWFILES:.psw=.o)\
$(PSWMFILES:.pswm=.o) $(SFILES:.s=.o) $(YFILES:.y=.o) $(YMFILES:.ym=.o)\
$(LFILES:.l=.o) $(LMFILES:.lm=.o) $(OTHER_SRCS_OFILES)
OFILES = $(OFILES_NOVERS) $(VERSFILE).o
# source files derived in the build process
DERIVED_SRC = $(PSWFILES:.psw=.c) $(PSWMFILES:.pswm=.m) \
$(PSWFILES:.psw=.h) $(PSWMFILES:.pswm=.h) \
$(YMFILES:.ym=.m) $(LMFILES:.lm=.m) $(YFILES:.y=.c) $(LFILES:.l=.c)
# files that will be removed on make clean, along with .o's
COMMON_GARBAGE = $(BY_PRODUCTS) TAGS tags $(VERSFILE).c $(DERIVED_SRC) \
Makefile.depends .depend_done core .make.out*
# these are other versions of the library we want to nuke
SPECIFIC_GARBAGE = \
lib$(NAME)*.a \
$(SPECFILES) \
$(SPECFILES:.spec=.aux)
# this stuff gets nuked with a rm -r
DIRECTORY_GARBAGE = $(OPT_OBJ) $(DEBUG_OBJ) $(PROFILE_OBJ)
# dependency files derived in the build process
DFILES = $(MFILES:.m=.d) $(CFILES:.c=.d) $(SFILES:.s=.d) \
$(PSWFILES:.psw=.d) $(PSWMFILES:.pswm=.d) \
$(YMFILES:.ym=.d) $(LMFILES:.lm=.d) $(YFILES:.y=.d) $(LFILES:.l=.d)
########################## Commands ##############################
# command to print source
PRINT = list